分类
联系方式
  1. 新浪微博
  2. E-mail

Dart Analyzer:ImportDirective 实体

介绍

Dart Analyzer 中的 ImportDirective 是表示 Dart 代码中 import 指令的类,它会在编译器遇到 import 指令时创建一个 ImportDirective 对象,并将其存储在 AST (抽象语法树) 中。

语法定义

An import directive.

    importDirective ::=
        [Annotation] 'import' [StringLiteral] ('as' identifier)? [Combinator]* ';'
      | [Annotation] 'import' [StringLiteral] 'deferred' 'as' identifier [Combinator]* ';'

prefix1 和 prefix2

ImportDirective 类中的 prefix1 和 prefix2 是用来表示 import 的别名,这两个字段都是 SimpleIdentifier 类型。

  • prefix1 字段表示 import 语句中使用的别名,如果没有使用别名,则该字段为 null。
  • prefix2 字段表示 deferred import 指令中使用的别名,如果没有使用 deferred 指令或者没有使用别名,则该字段为 null。

例如,下面的 import 指令:

  • import 'package:example/example.dart' as example; 中的 prefix1 就是 example。
  • import 'package:example/example.dart' deferred as example; 中的 prefix2 就是 example。